// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:34

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   vt.java

package com.zelix;

import java.io.*;
import java.util.*;

// Referenced classes of package com.zelix:
//            pt, tb, js, ks, 
//            sm, mt, kt, fu, 
//            jb, qy, ed, nh

class vt extends pt
    implements sm
{

    int o;
    fu p[];
    byte q[];
    boolean r;
    private static String z[];

    vt(kt kt1, int i, String s, jb jb, qy qy, PrintWriter printwriter)
        throws IOException
    {
        int j;
        int k;
        k = kt.i;
        super(kt1, i, s, jb, qy);
        r = true;
        if(super.m < 2)
            break MISSING_BLOCK_LABEL_475;
        o = jb.readUnsignedShort();
        if(o * 8 + 2 != super.m)
            break MISSING_BLOCK_LABEL_359;
        p = new fu[o];
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        p[j] = new fu(this, jb, qy, printwriter);
        if(!r)
            continue; /* Loop/switch isn't completed */
        if(!p[j].k)
        {
            a(false);
            printwriter.println(j() + z[4] + z[5] + z[2]);
            if(k == 0)
                continue; /* Loop/switch isn't completed */
        }
        String s1 = p[j].t();
        if(s1 != null)
        {
            String s2 = p[j].a();
            String s3 = p[j].s();
            if(s3 != null && s3.length() > s2.length() - s1.length())
                printwriter.println(j() + z[4] + z[5] + z[3] + s1 + "'");
        }
        j++;
_L2:
        if(j < o) goto _L1; else goto _L3
_L3:
        if(r)
            break MISSING_BLOCK_LABEL_546;
        ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(super.m);
        DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
        a(dataoutputstream);
        q = bytearrayoutputstream.toByteArray();
        p = null;
        if(k == 0)
            break MISSING_BLOCK_LABEL_546;
        a(false);
        printwriter.println(j() + z[4] + z[5] + z[1]);
        q = new byte[super.m];
        q[0] = (byte)(o >>> 8 & 0xff);
        q[1] = (byte)(o & 0xff);
        jb.read(q, 2, super.m - 2);
        if(k == 0)
            break MISSING_BLOCK_LABEL_546;
        a(false);
        printwriter.println(j() + z[4] + z[5] + z[0]);
        q = new byte[super.m];
        jb.read(q);
label0:
        {
            if(r)
            {
                ((mt)kt1).a(true);
                if(k == 0)
                    break label0;
            }
            ((mt)kt1).b(true);
        }
        return;
    }

    int q()
    {
        return 2 + o * 8;
    }

    fu a(js js1)
    {
        int j = kt.i;
        if(!r) goto _L2; else goto _L1
_L1:
        int i = 0;
        if(j == 0) goto _L4; else goto _L3
_L3:
        fu fu1 = p[i];
        if(fu1.l != null && fu1.l.b().equals(js1.b()))
            return fu1;
        i++;
_L4:
        if(i < o) goto _L3; else goto _L2
_L2:
        return null;
    }

    void b(HashSet hashset)
    {
        int j = kt.i;
        if(p == null) goto _L2; else goto _L1
_L1:
        int i = 0;
        if(j == 0) goto _L4; else goto _L3
_L3:
        p[i].b(hashset);
        i++;
_L4:
        if(i < p.length) goto _L3; else goto _L2
_L2:
    }

    void b(Hashtable hashtable)
    {
        hashtable.put(super.k, super.k);
    }

    public void a(Hashtable hashtable)
    {
        int j;
        j = kt.i;
        super.a(hashtable);
        if(p == null) goto _L2; else goto _L1
_L1:
        int i = 0;
        if(j == 0) goto _L4; else goto _L3
_L3:
        p[i].a(hashtable);
        i++;
_L4:
        if(i < p.length) goto _L3; else goto _L2
_L2:
    }

    int a(HashSet hashset, Hashtable hashtable)
    {
        ArrayList arraylist;
        int i;
        int k;
        k = kt.i;
        if(p == null)
            break MISSING_BLOCK_LABEL_111;
        arraylist = new ArrayList(p.length);
        i = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        if(!p[i].a(hashset, hashtable))
            arraylist.add(p[i]);
        i++;
_L2:
        if(i < p.length) goto _L1; else goto _L3
_L3:
        int j = arraylist.size();
        if(j < p.length)
        {
            p = (fu[])arraylist.toArray(new fu[j]);
            o = j;
        }
        return o;
    }

    void t()
    {
        int j = kt.i;
        if(!r) goto _L2; else goto _L1
_L1:
        int i = 0;
        if(j == 0) goto _L4; else goto _L3
_L3:
        p[i].u();
        i++;
_L4:
        if(i < o) goto _L3; else goto _L2
_L2:
    }

    void a(boolean flag)
    {
        r = flag;
    }

    public int a(ed ed, Hashtable hashtable)
    {
        ArrayList arraylist;
        int i;
        int k;
        k = kt.i;
        if(p == null)
            break MISSING_BLOCK_LABEL_111;
        arraylist = new ArrayList(p.length);
        i = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        if(!p[i].a(ed, hashtable))
            arraylist.add(p[i]);
        i++;
_L2:
        if(i < p.length) goto _L1; else goto _L3
_L3:
        int j = arraylist.size();
        if(j < p.length)
        {
            p = (fu[])arraylist.toArray(new fu[j]);
            o = j;
        }
        return o;
    }

    protected void a(DataOutputStream dataoutputstream, Hashtable hashtable, nh nh)
        throws IOException, tb
    {
        int i;
        int j;
        j = kt.i;
        super.a(dataoutputstream, hashtable, nh);
        if(!r)
            break MISSING_BLOCK_LABEL_64;
        dataoutputstream.writeShort(o);
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        p[i].a(dataoutputstream, hashtable);
        i++;
_L2:
        if(i < o) goto _L1; else goto _L3
_L3:
        if(j == 0)
            break MISSING_BLOCK_LABEL_72;
        dataoutputstream.write(q);
    }

    protected void a(DataOutputStream dataoutputstream)
        throws IOException
    {
        int i;
        int j;
        j = kt.i;
        dataoutputstream.writeShort(o);
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        p[i].a(dataoutputstream);
        i++;
_L2:
        if(i >= o)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    private static String z(char ac[]) {
        for (int i = 0; i < ac.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key =0x52;
                    break;
                case 1:
                    key =36;
                    break;
                case 2:
                    key =109;
                    break;
                case 3:
                    key =94;
                    break;
                default:
                    key =94;
                    break;
            }
            ac[i] ^= key;
        }
        return new String(ac).intern();
    }

    static 
    {
        String as[];
        as = new String[6];
        as[0] = "r\f_w";
        as[1] = "r\f\\w";
        as[2] = "r\f^w";
        as[3] = "r\fXw~h\004J";
        as[4] = "r\036M";
        as[5] = "\033J\033?2;@M\0270<A\037\03523W\036;-re\031*,;F\030*;";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;
    }
}